Algorithmic Skeletons in an Imperative Language for Distributed Programming
نویسنده
چکیده
Algorithmic skeletons are functions representing common parallelization patterns and implemented in parallel. They can be used as the building blocks of parallel and distributed applications by integrating them into a sequential language. In this paper, we present a new approach to programming with skeletons. We integrate the skeletons into an imperative host language, which leads to important gains in eeciency. At the same time, we enhance the host language with some functional features, like higher-order functions and currying, as well as with a polymorphic type system, in order to allow high-level programming. After describing a series of skeletons which work with distributed arrays, we give two examples of parallel algorithms written as sequential programs, namely shortest paths in graphs and Gaussian elimination. Run-time measurements show that we approach the eecien-cy of message-passing C up to a factor between 1 and 2.5.
منابع مشابه
Skil: An Imperative Language with Algorithmic Skeletons for Efficient Distributed Programming
In this paper we present Skil, an imperative language enhanced with higher-order functions and currying, as well as with a polymorphic type system. The high level of Skil allows the integration of algorithmic skeletons, i.e. of higherorder functions representing parallel computation patterns. At the same time, the language can be efficiently implemented. After describing a series of skeletons w...
متن کاملEecient Parallel Programming with Algorithmic Skeletons
Algorithmic skeletons are polymorphic higher-order functions representing common parallelization patterns and implemented in parallel. They can be used as the building blocks of parallel and distributed applications by integrating them into a sequential language. In this paper, we present a new approach to programming with skeletons. We integrate the skeletons into an imperative host language e...
متن کاملParallel Genetic Algorithm Using Algorithmic Skeleton
Algorithmic skeleton has received attention as an efficient method of parallel programming in recent years. Using the method, the programmer can implement parallel programs easily. In this study, a set of efficient algorithmic skeletons is introduced for use in implementing parallel genetic algorithm (PGA).A performance modelis derived for each skeleton that makes the comparison of skeletons po...
متن کاملParallel Genetic Algorithm Using Algorithmic Skeleton
Algorithmic skeleton has received attention as an efficient method of parallel programming in recent years. Using the method, the programmer can implement parallel programs easily. In this study, a set of efficient algorithmic skeletons is introduced for use in implementing parallel genetic algorithm (PGA).A performance modelis derived for each skeleton that makes the comparison of skeletons po...
متن کاملAlgorithmic Skeletons for Adaptive Multigrid Methods
This paper presents a new approach to parallel programming with algorithmic skeletons, i.e. common parallelization patterns. We use an imperative language enhanced by some functional features as host for the embedding of the skeletons. This allows an eecient implementation and at the same time a high level of programming. In particular, low level communication problems such as deadlocks are avo...
متن کامل